/**
 *
 * <p>Lowest common ancestor</p>
 *
 * <p>Mostly LCA is developed for suffix tree to find solutions in constant time. For example, given a string S (length n),
 * and 2 substring S[i:n] and S[j:n], find the longest common prefix. Solution: build suffix tree for S, prepare LCA
 * for the tree, then take 2 leaves i and j and find the lowest common ancestor in constant time.</p>
 *
 * @author Trung Phan
 *
 */
package net.tp.algo.lca;
